home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 April: Mac OS SDK / Dev.CD Apr 99 SDK1.toast / Development Kits / Interfaces&Libraries / Universal / Interfaces / RIncludes / Components.r < prev    next >
Encoding:
Text File  |  1998-08-17  |  4.0 KB  |  132 lines  |  [TEXT/MPS ]

  1. /*
  2.      File:        Components.r
  3.  
  4.      Contains:    Component Manager Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Release:    Universal Interfaces 3.2
  8.  
  9.      Copyright:    © 1991-1998 by Apple Computer, Inc., all rights reserved.
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. */
  17.  
  18. #ifndef __COMPONENTS_R__
  19. #define __COMPONENTS_R__
  20.  
  21. #ifndef __CONDITIONALMACROS_R__
  22. #include "ConditionalMacros.r"
  23. #endif
  24.  
  25. #define cmpWantsRegisterMessage         0x80000000
  26. #define componentDoAutoVersion             0x01
  27. #define componentWantsUnregister         0x02
  28. #define componentAutoVersionIncludeFlags  0x04
  29. #define componentHasMultiplePlatforms     0x08
  30. #define componentLoadResident             0x10
  31.  
  32.  
  33. /*----------------------------strn • Pascal-Style String--------------------------------*/
  34.     // ••• used for component name resources
  35. type 'strn' {
  36.         pstring;                                                /* String                */
  37. };
  38. /*----------------------------stri • Pascal-Style String--------------------------------*/
  39.     // ••• used for component info resources
  40. type 'stri' {
  41.         pstring;                                                /* String                */
  42. };
  43. /*----------------------------thng  • Component Manager thing ------------------------*/
  44. /*
  45.     thng_RezTemplateVersion:
  46.         0 - original 'thng' template    <-- default
  47.         1 - extended 'thng' template
  48. */
  49. #ifndef thng_RezTemplateVersion
  50.     #ifdef UseExtendedThingResource            /* grandfather in use of “UseExtendedThingResource” */
  51.         #define thng_RezTemplateVersion 1
  52.     #else
  53.         #define thng_RezTemplateVersion 0
  54.     #endif
  55. #endif
  56.  
  57.  
  58. type 'thng' {
  59.         literal longint;                                        /* Type */
  60.         literal longint;                                        /* Subtype */
  61.         literal longint;                                        /* Manufacturer */
  62.         unsigned hex longint;                                     /* component flags */
  63.         unsigned hex longint    kAnyComponentFlagsMask = 0;        /* component flags Mask */
  64.         literal longint;                                        /* Code Type */
  65.         integer;                                                /* Code ID */
  66.         literal longint;                                        /* Name Type */
  67.         integer;                                                /* Name ID */
  68.         literal longint;                                        /* Info Type */
  69.         integer;                                                /* Info ID */
  70.         literal longint;                                        /* Icon Type */
  71.         integer;                                                /* Icon ID */
  72. #if thng_RezTemplateVersion == 1
  73.         unsigned hex longint;                                    /* version of Component */
  74.         longint;                                                /* registration flags */
  75.         integer;                                                /* resource id of Icon Family */
  76.         longint = $$CountOf(ComponentPlatformInfo);
  77.         wide array ComponentPlatformInfo {
  78.             unsigned hex longint;                                 /* component flags */
  79.             literal longint;                                    /* Code Type */
  80.             integer;                                            /* Code ID */
  81.             integer platform68k = 1,                            /* platform type (response from gestaltSysArchitecture) */
  82.                     platformPowerPC = 2,
  83.                     platformInterpreted = 3,
  84.                     platformWin32 = 4;
  85.         };
  86. #endif
  87. };
  88.  
  89.  
  90. /*----------------------------thga • Thing --------------------------------------------*/
  91. type 'thga' {
  92.         literal longint;                                        /* Type */
  93.         literal longint;                                        /* Subtype */
  94.         literal longint;                                        /* Manufacturer */
  95.         unsigned hex longint;                                     /* component flags */
  96.         unsigned hex longint    kAnyComponentFlagsMask = 0;        /* component flags Mask */
  97.         literal longint;                                        /* Code Type */
  98.         integer;                                                /* Code ID */
  99.         literal longint;                                        /* Name Type */
  100.         integer;                                                /* Name ID */
  101.         literal longint;                                        /* Info Type */
  102.         integer;                                                /* Info ID */
  103.         literal longint;                                        /* Icon Type */
  104.         integer;                                                /* Icon ID */
  105.  
  106.         literal longint;                                        /* Type */
  107.         literal longint;                                        /* Subtype */
  108.         literal longint;                                        /* Manufacturer */
  109.         unsigned hex longint;                                     /* component flags */
  110.         unsigned hex longint    kAnyComponentFlagsMask = 0;        /* component flags Mask */
  111. };
  112.  
  113.  
  114. /*----------------------------thn#  • Component Manager thing load order dependency ----*/
  115. type 'thn#' {
  116.         array {
  117.             literal longint;                                        /* Code Type */
  118.             integer;                                                /* Code ID */
  119.         };
  120. };
  121. #if !TARGET_OS_MAC
  122. /*----------------------------stri • dlle resource--------------------------------*/
  123.     // ••• used for multi-platform things
  124.     type 'dlle' {
  125.         cstring;
  126.     };
  127. #endif
  128.  
  129.  
  130. #endif /* __COMPONENTS_R__ */
  131.  
  132.